package br.com.medmark.model.hibernate;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name="tb_horarios_disponiveis")
public class Horario {
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="codigo")
	private int codigo;
	
	@Column(name="hora_inicial")
	private Date horaInicial;
	
	@Column(name="hora_final")
	private Date horaFinal;
	
	@Column(name="data_consulta")  
	private Date dataConsulta;
	
	/*@Column(name="codigo_clinica")
	private int codigoClinica;
	
	
	@Column(name="codigo_profissional")
	private int codigoProfissional;*/
	
	@Column(name="tipo_horario")
	private int tipoHorario;
	
	@Column(name="numero_vagas")
	private int numeroVagas;
	
	@OneToOne(optional = false, fetch = FetchType.EAGER, orphanRemoval = false)
    @JoinColumn(name="codigo_clinica", nullable=false)
	private Clinica clinica;
	
	@OneToOne(optional = false, fetch = FetchType.EAGER, orphanRemoval = false)
    @JoinColumn(name="codigo_profissional", nullable=false)
	private Profissional profissional;
	
	
	@Column(name="removido")
	private String removido;
	
	public int getCodigo() {
		return codigo;
	}

	public Date getHoraInicial() {
		return horaInicial;
	}

	public void setHoraInicial(Date horaInicial) {
		this.horaInicial = horaInicial;
	}


	public Date getHoraFinal() {
		return horaFinal;
	}

	public void setHoraFinal(Date horaFinal) {
		this.horaFinal = horaFinal;
	}


	/*public int getCodigoClinica() {
		return codigoClinica;
	}


	public void setCodigoClinica(int codigoClinica) {
		this.codigoClinica = codigoClinica;
	}


	public int getCodigoProfissional() {
		return codigoProfissional;
	}


	public void setCodigoProfissional(int codigoProfissional) {
		this.codigoProfissional = codigoProfissional;
	}*/

	public Date getData() {
		return dataConsulta;
	}


	public void setData(Date dataConsulta) {
		this.dataConsulta = dataConsulta;
	}



	public Date getDataConsulta() {
		return dataConsulta;
	}


	public void setDataConsulta(Date dataConsulta) {
		this.dataConsulta = dataConsulta;
	}


	public int getTipoHorario() {
		return tipoHorario;
	}

	public void setTipoHorario(int tipoHorario) {
		this.tipoHorario = tipoHorario;
	}

	public int getNumeroVagas() {
		return numeroVagas;
	}


	public void setNumeroVagas(int numeroVagas) {
		this.numeroVagas = numeroVagas;
	}


	public void setCodigo(int codigo) {
		this.codigo = codigo;
	}


	public Clinica getClinica() {
		return clinica;
	}


	public void setClinica(Clinica clinica) {
		this.clinica = clinica;
	}


	public Profissional getProfissional() {
		return profissional;
	}


	public void setProfissional(Profissional profissional) {
		this.profissional = profissional;
	}

	public String getRemovido() {
		return removido;
	}

	public void setRemovido(String removido) {
		this.removido = removido;
	}



}
